// 引入request函数
import { request } from '../../request/request'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 商品数量
    goodsCount: 0,
    // 分类列表数据
    categoryList: [],
    // 右侧菜单栏数据
    rightMenuList: [],
    // 当前激活的分类id
    currentId: 0,
    // 滚动条位置
    scrollTop: 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
  },
  onShow() {
    let categoryId = wx.getStorageSync('categoryId')
    this.setData({
      currentId: categoryId - 0
    })
    this.getGoodsCount()
    // options中的id值是字符串，需要转化成数字
    this.getCateData(categoryId - 0)
  },
  // 发送请求获取商品数量
  async getGoodsCount() {
    const response = await request({url: '/goods/count'})
    this.setData({
      goodsCount: response.data.goodsCount
    })
  },
  // 发送请求获取分类数据
  async getCateData(id) {
    const res = await request({url: '/catalog/index', data: {id}})
    // 分类数据，以及当前激活状态的商品分类
    let { categoryList, currentCategory } = res.data
    // 更新data中数据
    this.setData({
      categoryList,
      rightMenuList: currentCategory,
      currentId: id
    })
  },
  // 监听点击左侧菜单栏事件
  handleCategory(e) {
    // 获取被点击分类的索引值
    const { id } = e.currentTarget.dataset
    // 每次点击分类，让滚动条重新回到顶部
    this.setData({
      scrollTop: 0
    })
    // 后台接口没有一次性返回所有分类的右侧菜单栏的数据，只能重新发送请求换取相关数据
    this.getCateData(id)
  }
})